package com.ruoyi.basedata.domain;

import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 区域线损报表对象 electricity_area_line
 * 
 * @author zt
 * @date 2025-03-12
 */
@TableName("electricity_area_line")
public class ElectricityAreaLine extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    @TableId(value="id",type = IdType.AUTO)
    private Long id;

    /** 租户编号 */
    @Excel(name = "租户编号")
    @TableField("tenant_id")
    private String tenantId;

    /** 区域id */
    @Excel(name = "区域id")
    @TableField("area_id")
    private Long areaId;

    /** 能耗分类（数据字典） */
    @Excel(name = "能耗分类", readConverterExp = "数=据字典")
    @TableField("energy_use_classification")
    private String energyUseClassification;

    /** 输入量 */
    @Excel(name = "输入量")
    @TableField("enter_power")
    private BigDecimal enterPower;

    /** 输出量 */
    @Excel(name = "输出量")
    @TableField("output_power")
    private BigDecimal outputPower;

    /** 线损量 */
    @Excel(name = "线损量")
    @TableField("line_loss")
    private BigDecimal lineLoss;

    /** 线损率 */
    @Excel(name = "线损率")
    @TableField("line_loss_rate")
    private BigDecimal lineLossRate;

    /** 输入电量环比(%) */
    @Excel(name = "输入电量环比(%)")
    @TableField("enter_power_hb")
    private BigDecimal enterPowerHb;

    /** 线损率环比(%) */
    @Excel(name = "线损率环比(%)")
    @TableField("line_loss_rate_hb")
    private BigDecimal lineLossRateHb;

    /** 输出电量环比(%) */
    @Excel(name = "输出电量环比(%)")
    @TableField("output_power_hb")
    private BigDecimal outputPowerHb;

    /** 线损电量环比(%) */
    @Excel(name = "线损电量环比(%)")
    @TableField("line_loss_hb")
    private BigDecimal lineLossHb;

    /** 冻结类型，时：hour，日：day，周：week，月：month，年：year， */
    @Excel(name = "冻结类型，时：hour，日：day，周：week，月：month，年：year，")
    @TableField("frozen_type")
    private String frozenType;

    /** 冻结时间（日/月） */
    @Excel(name = "冻结时间", readConverterExp = "日=/月")
    @TableField("freeze_time")
    private String freezeTime;

    /** 创建者 */
    @Excel(name = "创建者")
    @TableField("creator")
    private String creator;

    /** 更新者 */
    @Excel(name = "更新者")
    @TableField("updater")
    private String updater;

    @TableField(exist = false)
    private List<Long> areaIds;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTenantId(String tenantId) 
    {
        this.tenantId = tenantId;
    }

    public String getTenantId() 
    {
        return tenantId;
    }
    public void setAreaId(Long areaId) 
    {
        this.areaId = areaId;
    }

    public Long getAreaId() 
    {
        return areaId;
    }
    public void setEnergyUseClassification(String energyUseClassification) 
    {
        this.energyUseClassification = energyUseClassification;
    }

    public String getEnergyUseClassification() 
    {
        return energyUseClassification;
    }
    public void setEnterPower(BigDecimal enterPower) 
    {
        this.enterPower = enterPower;
    }

    public BigDecimal getEnterPower() 
    {
        return enterPower;
    }
    public void setOutputPower(BigDecimal outputPower) 
    {
        this.outputPower = outputPower;
    }

    public BigDecimal getOutputPower() 
    {
        return outputPower;
    }
    public void setLineLoss(BigDecimal lineLoss) 
    {
        this.lineLoss = lineLoss;
    }

    public BigDecimal getLineLoss() 
    {
        return lineLoss;
    }
    public void setLineLossRate(BigDecimal lineLossRate) 
    {
        this.lineLossRate = lineLossRate;
    }

    public BigDecimal getLineLossRate() 
    {
        return lineLossRate;
    }
    public void setEnterPowerHb(BigDecimal enterPowerHb) 
    {
        this.enterPowerHb = enterPowerHb;
    }

    public BigDecimal getEnterPowerHb() 
    {
        return enterPowerHb;
    }
    public void setLineLossRateHb(BigDecimal lineLossRateHb) 
    {
        this.lineLossRateHb = lineLossRateHb;
    }

    public BigDecimal getLineLossRateHb() 
    {
        return lineLossRateHb;
    }
    public void setOutputPowerHb(BigDecimal outputPowerHb) 
    {
        this.outputPowerHb = outputPowerHb;
    }

    public BigDecimal getOutputPowerHb() 
    {
        return outputPowerHb;
    }
    public void setLineLossHb(BigDecimal lineLossHb) 
    {
        this.lineLossHb = lineLossHb;
    }

    public BigDecimal getLineLossHb() 
    {
        return lineLossHb;
    }
    public void setFrozenType(String frozenType) 
    {
        this.frozenType = frozenType;
    }

    public String getFrozenType() 
    {
        return frozenType;
    }
    public void setFreezeTime(String freezeTime) 
    {
        this.freezeTime = freezeTime;
    }

    public String getFreezeTime() 
    {
        return freezeTime;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setUpdater(String updater) 
    {
        this.updater = updater;
    }

    public String getUpdater() 
    {
        return updater;
    }

    public List<Long> getAreaIds() {
        return areaIds;
    }

    public void setAreaIds(List<Long> areaIds) {
        this.areaIds = areaIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tenantId", getTenantId())
            .append("areaId", getAreaId())
            .append("energyUseClassification", getEnergyUseClassification())
            .append("enterPower", getEnterPower())
            .append("outputPower", getOutputPower())
            .append("lineLoss", getLineLoss())
            .append("lineLossRate", getLineLossRate())
            .append("enterPowerHb", getEnterPowerHb())
            .append("lineLossRateHb", getLineLossRateHb())
            .append("outputPowerHb", getOutputPowerHb())
            .append("lineLossHb", getLineLossHb())
            .append("frozenType", getFrozenType())
            .append("freezeTime", getFreezeTime())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .append("updater", getUpdater())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
